#include <bits/stdc++.h>
#define ll long long
#define ld long double
#define nl cout << "\n"
#define in_sort(v) sort(v.begin(),v.end())
#define de_sort(d) sort(d.begin(),d.end(),greater<ll>())
#define loop(x,y) for(ll i = x;i < y;i++)
#define ts ll t; cin >> t;while
#define speedUp ios_base::sync_with_stdio(0), cin.tie(0),cout.tie(0);
using namespace std;
ll gcd(ll a, ll b) { if (a == 0) return b; return gcd(b % a, a); }
ll lcm(ll a, ll b) { return a / gcd(a,b) * b; }
int fastpower(int x, int power) { int result = 1; while (power > 0) { if (power % 2 == 1)result = result * x; x = x * x; power /= 2; } return result; }
ll mod_fastpower(ll x, ll power, ll m) { ll result = 1; while (power > 0) { if (power % 2 == 1)result = (result % m * x % m) % m; x = ((x % m) * (x % m)) % m; power /= 2; } return result; }
using namespace std;
ll v[106];
int main()
{
speedUp;
//freopen("input.txt", "r", stdin);
//freopen("output.txt", "w", stdout);
ll n, k , ans = 0; cin >> n >> k;
map <ll, ll> m;
loop(0, n) {
ll x; cin >> x;
v[x % k]++;
}
for (ll i = 1; i < (k+1)/2; i++) {
ans += min(v[i], v[k - i]);
}
if (k % 2 == 0) ans += v[k / 2] / 2;
ans += v[0] / 2;
cout << 2 * ans;
}
302A - Eugeny and Array | 1638B - Odd Swap Sort |
1370C - Number Game | 1206B - Make Product Equal One |
131A - cAPS lOCK | 1635A - Min Or Sum |
474A - Keyboard | 1343A - Candies |
1343C - Alternating Subsequence | 1325A - EhAb AnD gCd |
746A - Compote | 318A - Even Odds |
550B - Preparing Olympiad | 939B - Hamster Farm |
732A - Buy a Shovel | 1220C - Substring Game in the Lesson |
452A - Eevee | 1647B - Madoka and the Elegant Gift |
1408A - Circle Coloring | 766B - Mahmoud and a Triangle |
1618C - Paint the Array | 469A - I Wanna Be the Guy |
1294A - Collecting Coins | 1227A - Math Problem |
349A - Cinema Line | 47A - Triangular numbers |
1516B - AGAGA XOOORRR | 1515A - Phoenix and Gold |
1515B - Phoenix and Puzzle | 155A - I_love_username |